package com.coin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.coin.domain.Coin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.coin.dto.CoinDto;

import java.util.List;

/**
 * @author 李力
 * @description 针对表【coin(币种配置信息)】的数据库操作Service
 * @createDate 2025-06-12 10:12:52
 */
public interface CoinService extends IService<Coin> {

    /**
     * @Description: 分页条件查询数字货币
     * @Author: 李 力
     * @Date: 2025/6/12
     * @Param:
     * @return: R
     */
    Page<Coin> findByPage(String name, String type, Byte status, String title, String walletType, Page<Coin> page);

    /**
     * @Description: CoinServiceImpl
     * @Author: 李 力
     * @Date: 2025/6/12
     * @Param:
     * @return:
     */
    boolean setStatus(Coin coin);

    /**
     * @Description: 查询币种的详细信息
     * @Author: 李 力
     * @Date: 2025/6/12
     * @Param:
     * @return: R
     */
    Coin info(Long id);

    /**
     * @Description: 通过状态查询所有的币种信息
     * @Author: 李 力
     * @Date: 2025/6/12
     * @Param:
     * @return: R
     */
    List<Coin> getCoinsByStatus(Byte status);

    /**
     * @Description: 修改币种的信息
     * @Author: 李 力
     * @Date: 2025/6/12
     * @Param:
     * @return: R
     */
    boolean updateCoin(Coin coin);

    Coin getCoinByCoinName(String coinName);

    List<CoinDto> coinService(List<Long> coinIds);
}
